import 'package:get_it/get_it.dart';
import 'package:learning_content_admin_pannel.core/auth/domain/use_cases/handle_access_credential_outer_update/use_case.dart';
import 'package:learning_content_admin_pannel.core/auth/domain/use_cases/initialize/use_case.dart';
import 'package:learning_content_admin_pannel.core/injection_container.dart' as core_di;

final sl = GetIt.asNewInstance();

Future<void> init() async {
  sl.registerLazySingleton<HandleAccessCredentialOuterUpdate>(() {
    return HandleAccessCredentialOuterUpdateImpl(
      handleAccessCredentialUpdate: core_di.sl(),
    );
  });

  sl.registerLazySingleton<Initialize>(() {
    return InitializeImpl(
      apiClient: core_di.sl(),
    );
  });
}
